//#include<iostream>
//#include<vector>
//#include<math.h>
//#include<stdio.h>
//using namespace std;
//float outs(vector<float>& v, int n, float sum)
//{
//    int i = 0;
//    double d = 0;
//    for (i; i < n; i++)
//    {
//        d += (v[i] - sum) * (v[i] - sum);
//    }
//    return d;
//}
//int main()
//{
//    int n;
//    cin >> n;
//    vector<float> v;
//    int i = 0;
//    float sum = 0;
//    for (i = 0; i < n; i++)
//    {
//        float f = 0;
//        cin >> f;
//        v.push_back(f);
//        sum += f;
//    }
//    double s = sum /= n;
//    float d = outs(v, n, s) / n;
//    d = sqrt(d);
//    for (i = 0; i < n; i++)
//    {
//        float e = (v[i] - sum) / d;
//        if (e >= -1.188151 && e <= -1.188150)
//            e = -1.188150;
//        if (e > 2.300700 && e <= 2.300701)
//            e = 2.300700;
//        printf("%.6lf\n", e);
//    }
//}
//
//#include<iostream>
//#include<algorithm>
//#include<vector>
//#include<set>
//using namespace std;
//int B[55][55] = { 0 };
//#include<utility>
//set<pair<int,int>> A;
//int main()
//{
//	int n, L, S;
//	cin >> n >> L >> S;
//	int i = 0;
//	for (i = 0; i < n; i++)
//	{
//		int x, y;
//		cin >> x >> y;		
//		A.insert(pair<int, int>(x, y));
//	}
//	vector<pair<int, int>> map(A.begin(), A.end());
//
//	for (i = 0; i <= S; i++)
//	{
//		int j = 0;
//		for (j = 0; j <= S; j++)
//		{
//			cin >> B[i][j];
//		}
//	}
//	int sum = 0;
//	for (i = 0; i < n; i++)
//	{
//		if(map[i].first + S > L || map[i].second + S > L)
//			continue;
//		int k = 0;
//		int flag = 1;
//		for (k = S; k>=0; k--)
//		{
//			if (flag == 0)
//				break;
//			int j = 0;
//			for (j = 0; j <= S; j++)
//			{
//				if (B[k][j] == 1)
//				{
//					if (A.find(pair<int, int>(map[i].first + S-k, map[i].second+ j)) == A.end())
//					{
//						flag = 0;
//						break;
//					}
//				}
//				if (B[k][j] == 0)
//				{
//					if (A.find(pair<int, int>(map[i].first + S-k, map[i].second+ j)) != A.end())
//					{
//						flag = 0;
//						break;
//					}
//				}
//			}
//		}
//		if (flag)
//			sum++;
//	}
//	cout << sum;
//}
//#include<iostream>
//#include<set>
//#include<map>
//#include<vector>
//using namespace std;
//class character
//{
//public:
//	string name;
//	set<string> operat;
//	set<string> types;
//	set<string> datas;
//	set<string> group;
//	set<string> user;
//};
//vector<character> v;
//int ifcanop()
//{
//	string u;
//	cin >> u;
//	int ng;
//	cin >> ng;
//	int flag = 0;
//	vector<string> g;
//	int i = 0;
//	for (i = 0; i < ng; i++)
//	{
//		string s;
//		cin >> s;
//		g.push_back(s);
//	}
//	string op,ty,dat;
//	cin >> op>>ty>>dat;
//	for (i = 0; i < v.size(); i++)
//	{
//		if ((v[i].operat.find("*")!=v[i].operat.end()||v[i].operat.find(op) != v[i].operat.end()) &&(v[i].types.find("*")!=v[i].types.end()|| v[i].types.find(ty) != v[i].types.end()) && (v[i].datas.find("*")!=v[i].datas.end()||v[i].datas.find(dat) != v[i].datas.end() || v[i].datas.size() == 0))
//		{
//			if (v[i].user.find("*")!=v[i].user.end()||v[i].user.find(u) != v[i].user.end())
//			{
//				flag = 1;
//				break;
//			}
//			int k = 0;
//			for (k = 0; k < ng; k++)
//			{
//				if (v[i].group.find("*") != v[i].group.end() || v[i].group.find(g[k]) != v[i].group.end())
//				{
//					flag = 1;
//					break;
//				}
//			}
//		}
//		if (flag)
//			break;
//	}
//	return flag;
//}
//int main()
//{
//	int n, m, q;
//	cin >> n >> m >> q;
//	int i = 0;
//	for (i=0; i < n; i++)
//	{
//		character c;
//		string name;
//		cin >> name;
//		c.name = name;
//		int nv;
//		cin >> nv;
//		int j = 0;
//		for (j=0; j < nv; j++)
//		{
//			string s;
//			cin >> s;
//			c.operat.insert(s);
//		}
//		int no;
//		cin >> no;
//		for (j=0; j < no; j++)
//		{
//			string s;
//			cin >> s;
//			c.types.insert(s);
//		}
//		int nn;
//		cin >> nn;
//		for (j=0; j < nn; j++)
//		{
//			string s;
//			cin >> s;
//			c.datas.insert(s);
//		}
//		v.push_back(c);
//	}
//	for (i = 0; i < m; i++)
//	{
//		string name;
//		cin >> name;
//		int ns;
//		cin >> ns;
//		int j = 0;
//		for (j = 0; j < ns; j++)
//		{
//			string type, who;
//			cin >> type >> who;
//			if (type == "u")
//			{
//				int k = 0;
//				for (k = 0; k < v.size(); k++)
//				{
//					if (v[k].name == name)
//					{
//						v[k].user.insert(who);
//						break;
//					}
//				}
//			}
//			else
//			{
//				int k = 0;
//				for (k = 0; k < v.size(); k++)
//				{
//					if (v[k].name == name)
//					{
//						v[k].group.insert(who);
//						break;
//					}
//				}
//			}
//		}
//	}
//	while (q--)
//	{
//		cout << ifcanop() << endl;
//	}
//}